using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

class ParametrosEstandar
    {
        public enum PARAMETROS 
        { 
            PST_FASE = 0,
            PST_CONDUCTOR = 1,
            PST_ESTADO = 2,
            PST_TIPO_APOYO = 3,
            PST_MATERIAL = 5,
            PST_CONDUCTORB = 6,
            PST_CONDUCTORM= 7,
            PST_PROPIETARIO_APOYO = 8,
            PST_MARCA_TRAFO = 9,
            PST_EQUIPO_BAJA = 10,
            PST_ESPACIADOM = 11,
            PST_CIRCUITO = 12,
            PST_CONSUMIDOR = 13,
            PST_CURVA =15,
            PST_RES_MECANICA =16,
            PST_APOYO_ALTURA =17,
            PST_MARC_MEDIDOR = 18,
            PST_IRREGULAR = 19,
            PST_UBICACION = 20,
            PST_TIPO_LINEA = 21,
            PST_TIPO_SWITCH = 22,
            PST_TIPO_FUSIBLE = 23,
            PST_ESTADO_SWT = 24,
            PST_CAPACITORES = 25,
            PST_USO_APOYO = 26,
            PST_TIPO_TRAFO = 27,
            PST_MEDIDOR_UBI = 28,
            PST_PARARRAYOS = 29,
            PST_PROPIETARIOT = 30,
            PST_POTENCIA_AP =31,
            PST_TIPO_AP=32,
            PST_DIRECCION_EJ =33,
            PST_DIRECCION_CO=34,
            PST_ESPACIADOB = 35,
            PST_TIPO_CONDUC=36,
            PST_TIPO_DUCTO = 37,
            PST_TIPO_CONST = 38,
            PST_ESTADO_CONST = 39,
            PST_PROPIETARIO_EQUIPO = 40
        }

        public DataTable listarCodigos(PARAMETROS enmParametro)
        {
            if (enmParametro == PARAMETROS.PST_ESTADO)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_ESTADO'");
            }
            else if (enmParametro == PARAMETROS.PST_TIPO_APOYO)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_TIPO_APOYO'");
            }
            else if (enmParametro == PARAMETROS.PST_MATERIAL)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_MATERIAL'");
            }
            else if (enmParametro == PARAMETROS.PST_PROPIETARIO_APOYO) 
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO ='PST_PROPIETARIO' AND CDI_NOMBRE <> 'A_C' AND CDI_NOMBRE <> 'C_V' AND CDI_NOMBRE <> 'P_EUC' AND CDI_NOMBRE <> 'SEMAF' ORDER BY CDI_CODIGO");
            }
            else if (enmParametro == PARAMETROS.PST_PROPIETARIO_EQUIPO)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_PROPIETARIO' ORDER BY CDI_CODIGO");
            }
            else if (enmParametro == PARAMETROS.PST_MARCA_TRAFO)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_MARCA_TRAFO' ORDER BY CDI_CODIGO");
            }
            else if (enmParametro == PARAMETROS.PST_EQUIPO_BAJA)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_EQUIPO_BAJA' ORDER BY CDI_CODIGO");
            }
            else if (enmParametro == PARAMETROS.PST_CONSUMIDOR)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_CONSUMIDOR'");
            }
            else if (enmParametro ==PARAMETROS.PST_CURVA)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_CURVA'");
            }
            else if (enmParametro == PARAMETROS.PST_RES_MECANICA)
            {
                return Conexion.ObtenerTabla("SELECT CDI_NOMBRE, CDI_NOMBRE FROM CDI_CODIGO WHERE PST_CODIGO='PST_RES_MECANICA'");
            }
            else if (enmParametro == PARAMETROS.PST_APOYO_ALTURA)
            {
                return Conexion.ObtenerTabla("SELECT CDI_NOMBRE,CDI_NOMBRE FROM CDI_CODIGO WHERE PST_CODIGO='PST_APOYO_ALTURA'");
            }
            else if (enmParametro == PARAMETROS.PST_MARC_MEDIDOR)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_MARC_MEDIDOR' ORDER BY CDI_NOMBRE");
            }
            else if (enmParametro == PARAMETROS.PST_IRREGULAR)
            {
                return Conexion.ObtenerTabla("SELECT CDI_CODIGO, CDI_CODIGO_SPARD + '__' + CDI_NOMBRE  FROM CDI_CODIGO WHERE PST_CODIGO='PST_IRREGULAR' order by CDI_CODIGO_SPARD");
            }
            else if (enmParametro == PARAMETROS.PST_UBICACION)  
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_UBICACION'");
            }
            else if (enmParametro == PARAMETROS.PST_TIPO_LINEA)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_TIPO_LINEA'");
            }
            else if (enmParametro == PARAMETROS.PST_TIPO_SWITCH)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_TIPO_SWITCH'");
            }
            else if (enmParametro == PARAMETROS.PST_TIPO_FUSIBLE)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_TIPO_FUSIBLE'");
            }
            else if (enmParametro == PARAMETROS.PST_ESTADO_SWT)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_ESTADO_SWT'");
            }
            else if (enmParametro == PARAMETROS.PST_CAPACITORES)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_CAPACITORES'");
            }
            else if (enmParametro == PARAMETROS.PST_USO_APOYO)
            {
                return Conexion.ObtenerTabla("SELECT CDI_CODIGO_SPARD, CDI_NOMBRE FROM CDI_CODIGO WHERE PST_CODIGO='PST_USO_APOYO'");
            }
            else if (enmParametro == PARAMETROS.PST_TIPO_TRAFO)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_TIPO_TRAFO' ORDER BY CDI_NOMBRE");
            }
            else if (enmParametro == PARAMETROS.PST_MEDIDOR_UBI)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_MEDIDOR_UBI'");
            }
            else if (enmParametro == PARAMETROS.PST_PARARRAYOS)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_PARARRAYOS'");
            }
            else if (enmParametro == PARAMETROS.PST_PROPIETARIOT)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_PROPIETARIOT'");
            }
            else if (enmParametro == PARAMETROS.PST_POTENCIA_AP)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_POTENCIA_AP'");
            }
              else if (enmParametro == PARAMETROS.PST_TIPO_AP)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_TIPO_AP'");
            }
            else if (enmParametro == PARAMETROS.PST_DIRECCION_EJ )
            {
                return Conexion.ObtenerTabla("SELECT CDI_CODIGO_SPARD, CDI_NOMBRE FROM CDI_CODIGO WHERE PST_CODIGO='PST_DIRECCION_EJ' order by CDI_NOMBRE");
            }
            else if (enmParametro == PARAMETROS.PST_DIRECCION_CO)
            {
                return Conexion.ObtenerTabla("SELECT CDI_NOMBRE,CDI_NOMBRE FROM CDI_CODIGO WHERE PST_CODIGO='PST_DIRECCION_CO' order by CDI_NOMBRE");
            }
            else if (enmParametro == PARAMETROS.PST_TIPO_CONDUC)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_TIPO_CONDUC' ORDER BY CDI_NOMBRE");
            }
            else if (enmParametro == PARAMETROS.PST_TIPO_DUCTO)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_TIPO_DUCTO'");
            }

            else if (enmParametro == PARAMETROS.PST_TIPO_CONST)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_TIPO_CONST' ORDER BY CDI_NOMBRE");
            }
            else if (enmParametro == PARAMETROS.PST_ESTADO_CONST)
            {
                return Conexion.ObtenerTabla("SELECT * FROM CDI_CODIGO WHERE PST_CODIGO='PST_ESTADO_CONST' ORDER BY CDI_NOMBRE");
            }
            else
            {
                return null;
            }
        }

    }


